A telecommunications system comprises a number of telecommunication nodes and a number of communication links. The telecommunication nodes are apparatuses arranged for processing, directly or indirectly, the signaling and/or media exchanged via communication links with the terminals connected to the system so as to allow them to communicate through it. The resources of a particular system in terms of number and kind of telecommunication nodes, and number and kind of communication links, as well as their respective capacities, depend, among others, on factors such as: the number of users the system is intended to serve, the nature of the services offered by or from the system and the type of accesses used by the users to connect their terminals to the system.
Usually, these resources are however not dimensioned for serving simultaneously communications to all the terminals connected/attached to it, or which can eventually connect/attach to it. For example, a given node assigned to process the signaling of a certain number of terminals for allowing them to establish (i.e. make or receive) communications with other terminals, usually, does not have processing and/or communication capabilities to serve simultaneously the establishment of communications for all these assigned terminals. Similarly, a communication link connecting a telecommunication node with another entity (such as other node/s or terminals) has a limited information transfer capability. For these reasons, it is of the utmost importance the implementation of mechanisms which allow detection of faulty situations, and which allow freeing, preferably quickly and in a controlled way, the seized resources for a communication established between two, or more, terminals when a malfunction event related to said communication is detected.
A well known fault detection mechanism comprises the association of a timer to a message which is sent from a terminal or from a node to a communication peer (terminal or node) in the communication, and which needs a reply to be received from said peer. If, for example, a terminal or node becomes faulty during said signaling round trip, and fails to transmit the reply, a time-out takes place, which makes the other intervening entity(ies) in the communication to release all the resources they have allocated for it. However, since signaling round trips as described above do not usually take place all along a communication, other kind of fault detection mechanisms are also desirable.
An example of this kind of mechanism is disclosed in IETF RFC4028 (April, 2005), which can be used for communications established through a telecommunications system using the Session Initiation Protocol SIP. The RFC4028 discloses a session timer for controlling a communication between terminals. The timer is agreed with a certain value when the communication is established, and it is periodically re-started before its expiry, if the communication is still alive, by means of SIP “UPDATE” or “RE-INVITE” messages. If, for example, one of the terminals in the communication becomes faulty, a time-out of the session timer takes place, since no refresh message is received; which makes the peer terminal, as well as an intervening SIP-proxy (a kind of node arranged to route signaling in SIP signaling telecommunications systems), to release the resources it had allocated for said communication.
However, in case of a malfunction situation, although the remaining non-faulty parties (nodes and terminals) can, according to fault detection procedures, get aware of this event, or be notified about it, and then, accordingly, release the allocated resources, the users of all the terminals that were involved in the faulty communication must establish a new one if they still want to communicate.
Nevertheless, the nature of the malfunction event that caused the communication to fail is usually unknown for the non-faulty terminal(s), as the fault may be due to several reasons, such as: a failure on any point in the interconnection network, a failure in an intervening telecommunications node (e.g. a proxy, a media gateway, etc), a malfunction in a counterpart terminal, etc; which can create uncertainties for the user of said non-faulty terminal on, e.g.: whether trying to re-establish the communication immediately, or waiting for a given time to do so, or waiting for the other terminal to re-establish the communication.